# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.shortcuts import render
from django.views import generic
from django.http import HttpResponse, JsonResponse
from django.core.handlers.wsgi import WSGIRequest

from . import service


class HomePageDisplay(generic.View):
    """ Отображение главной страницы """

    def get(self, request):
        # type: (object, WSGIRequest) -> HttpResponse
        service.UnisenderService().perform_initial_actions_for_unisender()
        return render(request, 'mail/base_mail.html')


class PeopleView(generic.View):
    """ Отрабатываем запросы связанные с людьми """

    def get(self, request):
        # type: (object, WSGIRequest) -> JsonResponse
        return service.PeopleService().get_necessary_information(request)


class SendingMessageView(generic.View):
    """ Отрабатываем запросы связанные с отправкой сообщения """

    def get(self, request):
        # type: (object, WSGIRequest) -> JsonResponse
        return service.MessageService().get_necessary_information(request)

    def post(self, request):
        # type: (object, WSGIRequest) -> JsonResponse
        return service.MessageService().perform_necessary_action(request)


class DisplayingMessagesView(generic.View):
    """ Обрабатываем запросы связанные с отображением сообщений """

    def get(self, request):
        # type: (object, WSGIRequest) -> JsonResponse
        return service.DisplayingMessagesService().get_necessary_information(request)
